1. Field
The present invention relates generally to graphical user interfaces in computer systems and more specifically to a generalized three dimensional graphical user interface.
2. Prior Art
Windowing systems are commonly used in graphical user interfaces of modern computer systems. The use of windows solves the problem of simultaneously representing more than one set of display output data from one or more application programs on a single computer monitor. The windowing solution typically allocates at least one display window on the computer screen for each executing application program and allows the user to resize and move the windows as desired. The operating system (OS) software of the computer system manages the resulting lists of possibly overlapping rectangular windows, thereby allowing application programs to draw on the portions of their windows that are visible (e.g., not obscured or clipped by the screen extents or other windows). The OS typically notifies application programs when portions of their windows become exposed and need to be repainted or redrawn. In some cases, application programs may request that a window manager program within the OS handle these events directly from an off-screen memory buffer either in whole (by having the application program draw directly to the off-screen memory buffer instead of the window, either for the whole window or only for the obscured portion), or in part (as when the window manager "pops up" a menu--the contents under the area to be destroyed are saved into off-screen memory so that it can be quickly restored after the menu is closed).
The windowing system manages the precious resource of screen space by manipulating a two and one half dimensional space. The space has dimensions of horizontal and vertical coordinates, as well as an order for overlapping windows. Windows are objects in this space. The windowing system maintains state information about these objects, including their position, extents, and sometimes even their contents.
As the number of windowing application programs grew, so did the number of windows likely to be shown on a user's screen at any given time. Icons, first developed as a way of launching applications, were later employed to represent running application program windows. These so-called "minimized" or "iconified" windows are temporarily replaced visually with very small (typically 32 by 32 pixels) images. FIG. 1 is an example diagram of a prior art windowing system showing the use of icons, a background or "desktop" window, and multiple overlapping windows. In current windowing systems such as WINDOWS95.TM., for example, commercially available from Microsoft Corporation, icons typically represent the application program rather than a document or file, but other systems may also use selected images generally as icons (called "picture icons" or "picons").
Useful as icons are at simplifying the look of the computer display, they have a disadvantage of being a discretely different representation of the windows they represent, with the cognitive mapping between the icons and the windows left to the user. In addition, when multiple windows are shown on a screen, the user may have trouble managing their use. Interaction with many windows in a single session of using the computer system may be cumbersome, confusing and slow. The well known metaphor of the desktop window and icons representing minimized application windows may be improved upon to provide a more elegant and efficient mechanism for interacting with a windowing system.